﻿@model PrePurchaseRequest
 
@Html.HiddenFor(model => model.PprId)
@Html.HiddenFor(model => model.RecordStatus) 
@{
    var emps = new KPIS.GERP.WEB.GIMS.EmployeeService.EmployeeServiceClient().Select(null, null, false);
    var LookUpService = new KPIS.GERP.WEB.GIMS.IcmMasLookUpService.IcmMasLookUpServiceClient();
    var durCountSelectList = LookUpService.MasLookUpSelectList(KPIS.GERP.Models.ICM.IcmMasLookUpType.LookUpType.DurationCount);
    var durCountSelectListItem = durCountSelectList.FirstOrDefault(o => o.Value == (Model != null ? Convert.ToString(Model.DurCountId) : ""));
    var durCountWording = durCountSelectListItem == null ? string.Empty : durCountSelectListItem.Text; 
}

@try
{
    if (Model != null)
    {

        <div class="widget-box">
            <div class="widget-header header-color-blue2">
                <div class="widget-toolbar">
                    <a href="#" data-action="collapse" style="color: #fff; font-size: large;" ><i class="icon-chevron-up"></i>  ข้อมูลหลัก</a>
                </div>
            </div>
            <div class="widget-body">
                <div class="widget-body-inner">
                    <div class="widget-main form-horizontal">
                        <dl class="dl-horizontal">
                            <dt>เลขแจ้งความประสงค์&nbsp;</dt>
                            <dd style="font-weight: bold;">@Html.DisplayFor(model => model.Code)&nbsp;</dd>
                            <dt>@Html.DisplayNameFor(model => model.MasPurchaseType.PcTypeName)&nbsp;</dt>
                            <dd>@Html.DisplayFor(model => model.MasPurchaseType.PcTypeName)&nbsp;</dd>
                            <dt>@Resources.GenerallyLocalization.Priority&nbsp;</dt>
                            <dd>@Html.DisplayFor(model => model.Priority.LookUpName)&nbsp;</dd>
                        </dl>
                        <hr/>
                        <dl class="dl-horizontal">
                            <dt>@Html.DisplayNameFor(model => model.RequestJobSite.Name)&nbsp;</dt>
                            <dd>@Html.DisplayFor(model => model.RequestJobSite.Name)&nbsp;</dd>
                            @*<dt>@Html.DisplayNameFor(model => model.YearType.YearTypeName)&nbsp;</dt>
                            <dd>@Html.DisplayFor(model => model.YearType.YearTypeName)&nbsp;</dd>*@
                            <dt>@Html.DisplayNameFor(model => model.BgYear)&nbsp;</dt>
                            <dd>@Html.DisplayFor(model => model.BgYear)&nbsp;</dd>
                            <dt>@Html.DisplayNameFor(model => model.RequestDate)&nbsp;</dt>
                            <dd>@Html.DisplayFor(model => model.RequestDate, "LongDate")&nbsp;</dd>
                            <dt>@Html.DisplayNameFor(model => model.Name)&nbsp;</dt>
                            <dd style="font-weight: bold;">@Html.DisplayFor(model => model.Name)&nbsp;</dd>
                            <dt>@Html.DisplayNameFor(model => model.Reason)&nbsp;</dt>
                            <dd>@Html.Raw((Model.Reason??"").Replace("\n","<br/>"))&nbsp;</dd>
                            <dt>@Html.DisplayNameFor(model => model.RequireDuration)&nbsp;</dt>
                            <dd>@if(Model.DurTypeId == 10)
                                {
                                    var task = new GERPContext().Tasks.OrderByDescending(o => o.TaskId).FirstOrDefault(o => o.RefId == Model.PprId && o.AppPrcId == 6);
                                    @:@Html.DisplayFor(model => model.RequireDuration) วัน นับจาก @durCountWording 

                                    if(Model.DurCountId == 10) //วันที่สร้างรายการ
                                    {
                                        if(Model.CreatedWhen.HasValue)
                                        {
                                            @: (วันที่สร้างรายการ คือ @Model.CreatedWhen.Value.ToString("dd MMM yyyy"))
                                        }
                                    }else if(Model.DurCountId == 11) // วันที่ยืนยันรายการ - ส่งขออนุมัติรายการ
                                    {
                                        if(task != null && task.CreatedWhen.HasValue)
                                        {
                                            @: (วันที่ยืนยันรายการ คือ @task.CreatedWhen.Value.ToString("dd MMM yyyy"))
                                        }
                                    }else if(Model.DurCountId == 12) // วันที่อนุมัติรายการ
                                    {
                                        if(task  != null && task.ApprovedWhen.HasValue)
                                        {
                                            @: (วันที่อนุมัติรายการ คือ @task.ApprovedWhen.Value.ToString("dd MMM yyyy"))
                                        }
                                    }
                                    @:&nbsp;
                                } else
                                {
                                    @:วันที่ @(Model.RequireDate != null ? Model.RequireDate.Value.ToString("dd MMM yyyy") : "")
                                }
                                
                                </dd>
                            <dt>ยอดรวม&nbsp;</dt>
                            <dd>@ViewBag.requestAmountStr บาท</dd>
                            <dt>ผู้แจ้งความประสงค์&nbsp;</dt>
                            <dd>@((from e in emps where e.EmpId == Model.CreatedBy select e.FullName).FirstOrDefault())&nbsp;</dd>
                            <dt>สถานะ&nbsp;</dt>
                            <dd>
                                <span class="@switch (Model.RecordStatus)
                                             {
                                                 case "U": @:text-info
                                                     break;
                                                 case "A": @:text-success
                                                     break;
                                                 case "W": @:text-warning
                                                     break;
                                                 case "P": @:muted
                                                     break;
                                                 case "J": @:red
                                                     break;
                                                 default:
                                                     break;
                                             }">
                                    
                                    
                                    @{
                                        var db = new GERPContext(true);
                                        var task2= db.Tasks
                                            .Include(o=>o.CurrentTaskHistory).OrderByDescending(o=>o.TaskId)
                                            .FirstOrDefault(o => o.RefId == Model.PprId &&
                                                                 o.ApproveProcess.AppPrcGrpId == 6
                                                                 && o.RecordStatus != RecordStatus.DeletedStatus);
                                        if (task2 != null && Model.RecordStatus == "W")
                                        {
                                            @:<span style="color:red">ถูกอนุมัติแล้ว แต่มีการตีกลับจากฝ่ายพัสดุ กรุณาแก้ไขและส่งขออนุมัติใหม่อีกครั้ง</span><br/>(@task2.StatusText)
                                        }
                                        else if (task2 != null)
                                        {
                                            @task2.StatusText
                                        }
                                        else
                                        {

                                            @KPIS.GERP.Models.SYS.RecordStatus.RecordStatusName(Model.RecordStatus)
                                            if (task2 != null && !task2.Completed &&
                                               task2.CurrentTaskHistory != null &&
                                               task2.CurrentTaskHistory.ApproverPosId != null)
                                            {
                                                var empOfPos = db.Employees
                                                    .Include(o => o.Position)
                                                    .FirstOrDefault(o => o.RecordStatus != "D"
                                                                         && o.PosId == task2.CurrentTaskHistory.ApproverPosId);
                                                if (empOfPos != null)
                                                {
                                                    @: โดย @empOfPos.FullName (@empOfPos.Position.PosNo - @empOfPos.Position.Name) เมื่อ @task2.CurrentTaskHistory.CreatedWhen.Value.ToString("dd MMMM yyyy HH:mm")
                                            }
                                            }
                                            else if (task2 != null && task2.Completed &&
                                                    !string.IsNullOrWhiteSpace(task2.CompletedByFullName))
                                            {
                                                @:โดย @task2.CompletedByPosName - @task2.CompletedByFullName เมื่อ @task2.CompletedWhen.Value.ToString("dd MMMM yyyy HH:mm")
                                            }
                                        }

                                        if (task2 != null && Model.RecordStatus != RecordStatus.ReturnedStatus)
                                        {
                                            @:&nbsp;&nbsp;&nbsp;&nbsp;
                                            <a href="@Url.Action("Details", "Task", new {id=task2.TaskId})" target="_blank">
                                                ไปที่หน้าคำขอ <i class="icon-external-link"></i>
                                            </a>
                                        }
                                        else if (Model.RecordStatus == RecordStatus.ReturnedStatus)
                                        {
                                            @:&nbsp;&nbsp;&nbsp;&nbsp;
                                            <a href="@Url.Action("Details", "Task", new {id=task2.TaskId})" target="_blank" style="background-color: rgb(255, 255, 180); 
                                                                                                                                                                                                                                  font-size:14px;
                                                                                                                                                                                                                                  font-weight: bold;                                                                                                                                  ">
                                                ส่งกลับไปขออนุมัติต่อ (ต้องเป็นผู้สร้างคำขอ)<i class="icon-external-link"></i>
                                            </a>
                                        }
                                        
                                    }

                                </span>&nbsp;
                            </dd>
                        </dl>
                    </div>
                </div>
            </div>
        </div>
    }
}
catch (Exception ex)
{
    
}
<style>
    dt {
        margin-top: 10px;
    }
    dd {
        margin-top: 10px;
    }
</style>